<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="mybusinessbusinessinformation_v1.html">My Business Business Information API</a> . <a href="mybusinessbusinessinformation_v1.locations.html">locations</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="mybusinessbusinessinformation_v1.locations.attributes.html">attributes()</a></code>
</p>
<p class="firstline">Returns the attributes Resource.</p>

<p class="toc_element">
  <code><a href="#close">close()</a></code></p>
<p class="firstline">Close httplib2 connections.</p>
<p class="toc_element">
  <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
<p class="firstline">Deletes a location. If this location cannot be deleted using the API and it is marked so in the `google.mybusiness.businessinformation.v1.LocationState`, use the [Google Business Profile](https://business.google.com/manage/) website.</p>
<p class="toc_element">
  <code><a href="#get">get(name, readMask=None, x__xgafv=None)</a></code></p>
<p class="firstline">Returns the specified location.</p>
<p class="toc_element">
  <code><a href="#getAttributes">getAttributes(name, x__xgafv=None)</a></code></p>
<p class="firstline">Looks up all the attributes set for a given location.</p>
<p class="toc_element">
  <code><a href="#getGoogleUpdated">getGoogleUpdated(name, readMask=None, x__xgafv=None)</a></code></p>
<p class="firstline">Gets the Google-updated version of the specified location.</p>
<p class="toc_element">
  <code><a href="#patch">patch(name, body=None, updateMask=None, validateOnly=None, x__xgafv=None)</a></code></p>
<p class="firstline">Updates the specified location.</p>
<p class="toc_element">
  <code><a href="#updateAttributes">updateAttributes(name, attributeMask=None, body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Update attributes for a given location.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="close">close()</code>
  <pre>Close httplib2 connections.</pre>
</div>

<div class="method">
    <code class="details" id="delete">delete(name, x__xgafv=None)</code>
  <pre>Deletes a location. If this location cannot be deleted using the API and it is marked so in the `google.mybusiness.businessinformation.v1.LocationState`, use the [Google Business Profile](https://business.google.com/manage/) website.

Args:
  name: string, Required. The name of the location to delete. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
}</pre>
</div>

<div class="method">
    <code class="details" id="get">get(name, readMask=None, x__xgafv=None)</code>
  <pre>Returns the specified location.

Args:
  name: string, Required. The name of the location to fetch. (required)
  readMask: string, Required. Read mask to specify what fields will be returned in the response.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A location. See the [help center article] (https://support.google.com/business/answer/3038177) for a detailed description of these fields, or the [category endpoint](/my-business/reference/rest/v4/categories) for a list of valid business categories.
  &quot;adWordsLocationExtensions&quot;: { # Additional information that is surfaced in AdWords. # Optional. Additional information that is surfaced in AdWords.
    &quot;adPhone&quot;: &quot;A String&quot;, # Required. An alternate phone number to display on AdWords location extensions instead of the location&#x27;s primary phone number.
  },
  &quot;categories&quot;: { # A collection of categories that describes the business. During updates, both fields must be set. Clients are prohibited from individually updating the primary or additional categories using the update mask. # Optional. The different categories that describe the business.
    &quot;additionalCategories&quot;: [ # Optional. Additional categories to describe your business. Categories help your customers find accurate, specific results for services they&#x27;re interested in. To keep your business information accurate and live, make sure that you use as few categories as possible to describe your overall core business. Choose categories that are as specific as possible, but representative of your main business.
      { # A category describing what this business is (not what it does). For a list of valid category IDs, and the mappings to their human-readable names, see `categories.list`.
        &quot;displayName&quot;: &quot;A String&quot;, # Output only. The human-readable name of the category. This is set when reading the location. When modifying the location, `category_id` must be set.
        &quot;moreHoursTypes&quot;: [ # Output only. More hours types that are available for this business category.
          { # More hours types that a business can offers, in addition to its regular hours.
            &quot;displayName&quot;: &quot;A String&quot;, # Output only. The human-readable English display name for the hours type.
            &quot;hoursTypeId&quot;: &quot;A String&quot;, # Output only. A stable ID provided by Google for this hours type.
            &quot;localizedDisplayName&quot;: &quot;A String&quot;, # Output only. The human-readable localized display name for the hours type.
          },
        ],
        &quot;name&quot;: &quot;A String&quot;, # Required. A stable ID (provided by Google) for this category. The value must be specified when modifying the category (when creating or updating a location).
        &quot;serviceTypes&quot;: [ # Output only. A list of all the service types that are available for this business category.
          { # A message describing a service type that the business offers.
            &quot;displayName&quot;: &quot;A String&quot;, # Output only. The human-readable display name for the service type.
            &quot;serviceTypeId&quot;: &quot;A String&quot;, # Output only. A stable ID (provided by Google) for this service type.
          },
        ],
      },
    ],
    &quot;primaryCategory&quot;: { # A category describing what this business is (not what it does). For a list of valid category IDs, and the mappings to their human-readable names, see `categories.list`. # Required. Category that best describes the core business this location engages in.
      &quot;displayName&quot;: &quot;A String&quot;, # Output only. The human-readable name of the category. This is set when reading the location. When modifying the location, `category_id` must be set.
      &quot;moreHoursTypes&quot;: [ # Output only. More hours types that are available for this business category.
        { # More hours types that a business can offers, in addition to its regular hours.
          &quot;displayName&quot;: &quot;A String&quot;, # Output only. The human-readable English display name for the hours type.
          &quot;hoursTypeId&quot;: &quot;A String&quot;, # Output only. A stable ID provided by Google for this hours type.
          &quot;localizedDisplayName&quot;: &quot;A String&quot;, # Output only. The human-readable localized display name for the hours type.
        },
      ],
      &quot;name&quot;: &quot;A String&quot;, # Required. A stable ID (provided by Google) for this category. The value must be specified when modifying the category (when creating or updating a location).
      &quot;serviceTypes&quot;: [ # Output only. A list of all the service types that are available for this business category.
        { # A message describing a service type that the business offers.
          &quot;displayName&quot;: &quot;A String&quot;, # Output only. The human-readable display name for the service type.
          &quot;serviceTypeId&quot;: &quot;A String&quot;, # Output only. A stable ID (provided by Google) for this service type.
        },
      ],
    },
  },
  &quot;labels&quot;: [ # Optional. A collection of free-form strings to allow you to tag your business. These labels are NOT user facing; only you can see them. Must be between 1-255 characters per label.
    &quot;A String&quot;,
  ],
  &quot;languageCode&quot;: &quot;A String&quot;, # Immutable. The language of the location. Set during creation and not updateable.
  &quot;latlng&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # Optional. User-provided latitude and longitude. When creating a location, this field is ignored if the provided address geocodes successfully. This field is only returned on get requests if the user-provided `latlng` value was accepted during create, or the `latlng` value was updated through the Google Business Profile website. This field can only be updated by approved clients.
    &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
    &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
  },
  &quot;metadata&quot;: { # Additional non-user-editable information about the location. # Output only. Additional non-user-editable information.
    &quot;canDelete&quot;: True or False, # Output only. Indicates whether the location can be deleted using the API.
    &quot;canHaveBusinessCalls&quot;: True or False, # Output only. Indicates if the listing is eligible for business calls.
    &quot;canHaveFoodMenus&quot;: True or False, # Output only. Indicates if the listing is eligible for food menu.
    &quot;canModifyServiceList&quot;: True or False, # Output only. Indicates if the listing can modify the service list.
    &quot;canOperateHealthData&quot;: True or False, # Output only. Indicates whether the location can operate on Health data.
    &quot;canOperateLocalPost&quot;: True or False, # Output only. Indicates if the listing can manage local posts. Deprecated: This field is no longer populated and will be removed in a future version.
    &quot;canOperateLodgingData&quot;: True or False, # Output only. Indicates whether the location can operate on Lodging data.
    &quot;duplicateLocation&quot;: &quot;A String&quot;, # Output only. The location resource that this location duplicates.
    &quot;hasGoogleUpdated&quot;: True or False, # Output only. Indicates whether the place ID associated with this location has updates that need to be updated or rejected by the client. If this boolean is set, you should call the `getGoogleUpdated` method to lookup information that&#x27;s needs to be verified.
    &quot;hasPendingEdits&quot;: True or False, # Output only. Indicates whether any of this Location&#x27;s properties are in the edit pending state.
    &quot;hasVoiceOfMerchant&quot;: True or False, # Output only. Indicates if the listing has Voice of Merchant. If this boolean is false, you should call the locations.getVoiceOfMerchantState API to get details as to why they do not have Voice of Merchant.
    &quot;isParticularlyPersonalPlace&quot;: True or False, # Output only.
    &quot;mapsUri&quot;: &quot;A String&quot;, # Output only. A link to the location on Maps.
    &quot;newReviewUri&quot;: &quot;A String&quot;, # Output only. A link to the page on Google Search where a customer can leave a review for the location.
    &quot;placeId&quot;: &quot;A String&quot;, # Output only. If this locationappears on Google Maps, this field is populated with the place ID for the location. This ID can be used in various Places APIs. This field can be set during Create calls, but not for Update.
  },
  &quot;moreHours&quot;: [ # Optional. More hours for a business&#x27;s different departments or specific customers.
    { # The time periods during which a location is open for certain types of business.
      &quot;hoursTypeId&quot;: &quot;A String&quot;, # Required. Type of hours. Clients should call {#link businessCategories:BatchGet} to get supported hours types for categories of their locations.
      &quot;periods&quot;: [ # Required. A collection of times that this location is open. Each period represents a range of hours when the location is open during the week.
        { # Represents a span of time that the business is open, starting on the specified open day/time and closing on the specified close day/time. The closing time must occur after the opening time, for example later in the same day, or on a subsequent day.
          &quot;closeDay&quot;: &quot;A String&quot;, # Required. Indicates the day of the week this period ends on.
          &quot;closeTime&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Required. Valid values are 00:00-24:00, where 24:00 represents midnight at the end of the specified day field.
            &quot;hours&quot;: 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
            &quot;minutes&quot;: 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
            &quot;nanos&quot;: 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
            &quot;seconds&quot;: 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
          },
          &quot;openDay&quot;: &quot;A String&quot;, # Required. Indicates the day of the week this period starts on.
          &quot;openTime&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Required. Valid values are 00:00-24:00, where 24:00 represents midnight at the end of the specified day field.
            &quot;hours&quot;: 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
            &quot;minutes&quot;: 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
            &quot;nanos&quot;: 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
            &quot;seconds&quot;: 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
          },
        },
      ],
    },
  ],
  &quot;name&quot;: &quot;A String&quot;, # Google identifier for this location in the form: `locations/{location_id}`.
  &quot;openInfo&quot;: { # Information related to the opening state of the business. # Optional. A flag that indicates whether the location is currently open for business.
    &quot;canReopen&quot;: True or False, # Output only. Indicates whether this business is eligible for re-open.
    &quot;openingDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Optional. The date on which the location first opened. If the exact day is not known, month and year only can be provided. The date must be in the past or be no more than one year in the future.
      &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
      &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
      &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    },
    &quot;status&quot;: &quot;A String&quot;, # Required. Indicates whether or not the Location is currently open for business. All locations are open by default, unless updated to be closed.
  },
  &quot;phoneNumbers&quot;: { # A collection of phone numbers for the business. During updates, both fields must be set. Clients may not update just the primary or additional phone numbers using the update mask. International phone format is preferred, such as &quot;+1 415 555 0132&quot;, see more in (https://developers.google.com/style/phone-numbers#international-phone-numbers). # Optional. The different phone numbers that customers can use to get in touch with the business.
    &quot;additionalPhones&quot;: [ # Optional. Up to two phone numbers (mobile or landline, no fax) at which your business can be called, in addition to your primary phone number.
      &quot;A String&quot;,
    ],
    &quot;primaryPhone&quot;: &quot;A String&quot;, # Required. A phone number that connects to your individual business location as directly as possible. Use a local phone number instead of a central, call center helpline number whenever possible.
  },
  &quot;profile&quot;: { # All information pertaining to the location&#x27;s profile. # Optional. Describes your business in your own voice and shares with users the unique story of your business and offerings. This field is required for all categories except lodging categories (e.g. hotels, motels, inns).
    &quot;description&quot;: &quot;A String&quot;, # Required. Description of the location in your own voice, not editable by anyone else.
  },
  &quot;regularHours&quot;: { # Represents the time periods that this location is open for business. Holds a collection of TimePeriod instances. # Optional. Operating hours for the business.
    &quot;periods&quot;: [ # Required. A collection of times that this location is open for business. Each period represents a range of hours when the location is open during the week.
      { # Represents a span of time that the business is open, starting on the specified open day/time and closing on the specified close day/time. The closing time must occur after the opening time, for example later in the same day, or on a subsequent day.
        &quot;closeDay&quot;: &quot;A String&quot;, # Required. Indicates the day of the week this period ends on.
        &quot;closeTime&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Required. Valid values are 00:00-24:00, where 24:00 represents midnight at the end of the specified day field.
          &quot;hours&quot;: 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
          &quot;minutes&quot;: 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
          &quot;nanos&quot;: 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
          &quot;seconds&quot;: 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
        },
        &quot;openDay&quot;: &quot;A String&quot;, # Required. Indicates the day of the week this period starts on.
        &quot;openTime&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Required. Valid values are 00:00-24:00, where 24:00 represents midnight at the end of the specified day field.
          &quot;hours&quot;: 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
          &quot;minutes&quot;: 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
          &quot;nanos&quot;: 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
          &quot;seconds&quot;: 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
        },
      },
    ],
  },
  &quot;relationshipData&quot;: { # Information of all parent and children locations related to this one. # Optional. All locations and chain related to this one.
    &quot;childrenLocations&quot;: [ # The list of children locations that this location has relations with.
      { # Information about another location that is related to current one. The relation can be any one of DEPARTMENT_OF or INDEPENDENT_ESTABLISHMENT_OF, and the location specified here can be on either side (parent/child) of the location.
        &quot;placeId&quot;: &quot;A String&quot;, # Required. Specify the location that is on the other side of the relation by its placeID.
        &quot;relationType&quot;: &quot;A String&quot;, # Required. The type of the relationship.
      },
    ],
    &quot;parentChain&quot;: &quot;A String&quot;, # The resource name of the Chain that this location is member of. How to find Chain ID
    &quot;parentLocation&quot;: { # Information about another location that is related to current one. The relation can be any one of DEPARTMENT_OF or INDEPENDENT_ESTABLISHMENT_OF, and the location specified here can be on either side (parent/child) of the location. # The parent location that this location has relations with.
      &quot;placeId&quot;: &quot;A String&quot;, # Required. Specify the location that is on the other side of the relation by its placeID.
      &quot;relationType&quot;: &quot;A String&quot;, # Required. The type of the relationship.
    },
  },
  &quot;serviceArea&quot;: { # Service area businesses provide their service at the customer&#x27;s location (for example, a locksmith or plumber). # Optional. Service area businesses provide their service at the customer&#x27;s location. If this business is a service area business, this field describes the area(s) serviced by the business.
    &quot;businessType&quot;: &quot;A String&quot;, # Required. Indicates the type of the service area business.
    &quot;places&quot;: { # Defines the union of areas represented by a set of places. # The area that this business serves defined through a set of places.
      &quot;placeInfos&quot;: [ # The areas represented by place IDs. Limited to a maximum of 20 places.
        { # Defines an area that&#x27;s represented by a place ID.
          &quot;placeId&quot;: &quot;A String&quot;, # Required. The ID of the place. Must correspond to a region. (https://developers.google.com/places/web-service/supported_types#table3)
          &quot;placeName&quot;: &quot;A String&quot;, # Required. The localized name of the place. For example, `Scottsdale, AZ`.
        },
      ],
    },
    &quot;regionCode&quot;: &quot;A String&quot;, # Immutable. CLDR region code of the country/region that this service area business is based in. See http://cldr.unicode.org/ and http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html for details. Example: &quot;CH&quot; for Switzerland. This field is required for CUSTOMER_LOCATION_ONLY businesses, and is ignored otherwise. The region specified here can be different from regions for the areas that this business serves (e.g. service area businesses that provide services in regions other than the one that they are based in). If this location requires verification after creation, the address provided for verification purposes *must* be located within this region, and the business owner or their authorized representative *must* be able to receive postal mail at the provided verification address.
  },
  &quot;serviceItems&quot;: [ # Optional. List of services supported by merchants. A service can be haircut, install water heater, etc. Duplicated service items will be removed automatically.
    { # A message that describes a single service item. It is used to describe the type of service that the merchant provides. For example, haircut can be a service.
      &quot;freeFormServiceItem&quot;: { # Represents a free-form service offered by the merchant. These are services that are not exposed as part of our structure service data. The merchant manually enters the names for of such services via a geomerchant surface. # Optional. This field will be set case of free-form services data.
        &quot;category&quot;: &quot;A String&quot;, # Required. This field represents the category name (i.e. the category&#x27;s stable ID). The `category` and `service_type_id` should match the possible combinations provided in the `Category` message.
        &quot;label&quot;: { # Label to be used when displaying the price list, section, or item. # Required. Language-tagged labels for the item. We recommend that item names be 140 characters or less, and descriptions 250 characters or less. This field should only be set if the input is a custom service item. Standardized service types should be updated via service_type_id.
          &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the price list, section, or item.
          &quot;displayName&quot;: &quot;A String&quot;, # Required. Display name for the price list, section, or item.
          &quot;languageCode&quot;: &quot;A String&quot;, # Optional. The BCP-47 language code that these strings apply for. Only one set of labels may be set per language.
        },
      },
      &quot;price&quot;: { # Represents an amount of money with its currency type. # Optional. Represents the monetary price of the service item. We recommend that currency_code and units should be set when including a price. This will be treated as a fixed price for the service item.
        &quot;currencyCode&quot;: &quot;A String&quot;, # The three-letter currency code defined in ISO 4217.
        &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
        &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount. For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
      },
      &quot;structuredServiceItem&quot;: { # Represents a structured service offered by the merchant. For eg: toilet_installation. # Optional. This field will be set case of structured services data.
        &quot;description&quot;: &quot;A String&quot;, # Optional. Description of structured service item. The character limit is 300.
        &quot;serviceTypeId&quot;: &quot;A String&quot;, # Required. The `service_type_id` field is a Google provided unique ID that can be found in `ServiceType`. This information is provided by `BatchGetCategories` rpc service.
      },
    },
  ],
  &quot;specialHours&quot;: { # Represents a set of time periods when a location&#x27;s operational hours differ from its normal business hours. # Optional. Special hours for the business. This typically includes holiday hours, and other times outside of regular operating hours. These override regular business hours. This field cannot be set without regular hours.
    &quot;specialHourPeriods&quot;: [ # Required. A list of exceptions to the business&#x27;s regular hours.
      { # Represents a single time period when a location&#x27;s operational hours differ from its normal business hours. A special hour period must represent a range of less than 24 hours. The `open_time` and `start_date` must predate the `close_time` and `end_date`. The `close_time` and `end_date` can extend to 11:59 a.m. on the day after the specified `start_date`. For example, the following inputs are valid: start_date=2015-11-23, open_time=08:00, close_time=18:00 start_date=2015-11-23, end_date=2015-11-23, open_time=08:00, close_time=18:00 start_date=2015-11-23, end_date=2015-11-24, open_time=13:00, close_time=11:59 The following inputs are not valid: start_date=2015-11-23, open_time=13:00, close_time=11:59 start_date=2015-11-23, end_date=2015-11-24, open_time=13:00, close_time=12:00 start_date=2015-11-23, end_date=2015-11-25, open_time=08:00, close_time=18:00
        &quot;closeTime&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Valid values are 00:00-24:00, where 24:00 represents midnight at the end of the specified day field. Must be specified if `closed` is false.
          &quot;hours&quot;: 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
          &quot;minutes&quot;: 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
          &quot;nanos&quot;: 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
          &quot;seconds&quot;: 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
        },
        &quot;closed&quot;: True or False, # Optional. If true, `end_date`, `open_time`, and `close_time` are ignored, and the date specified in `start_date` is treated as the location being closed for the entire day.
        &quot;endDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Optional. The calendar date this special hour period ends on. If `end_date` field is not set, default to the date specified in `start_date`. If set, this field must be equal to or at most 1 day after `start_date`.
          &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
          &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
          &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
        },
        &quot;openTime&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Valid values are 00:00-24:00 where 24:00 represents midnight at the end of the specified day field. Must be specified if `closed` is false.
          &quot;hours&quot;: 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
          &quot;minutes&quot;: 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
          &quot;nanos&quot;: 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
          &quot;seconds&quot;: 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
        },
        &quot;startDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. The calendar date this special hour period starts on.
          &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
          &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
          &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
        },
      },
    ],
  },
  &quot;storeCode&quot;: &quot;A String&quot;, # Optional. External identifier for this location, which must be unique within a given account. This is a means of associating the location with your own records.
  &quot;storefrontAddress&quot;: { # Represents a postal address, such as for postal delivery or payments addresses. With a postal address, a postal service can deliver items to a premise, P.O. box, or similar. A postal address is not intended to model geographical locations like roads, towns, or mountains. In typical usage, an address would be created by user input or from importing existing data, depending on the type of process. Advice on address input or editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput. - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, see: https://support.google.com/business/answer/6397478. # Optional. A precise, accurate address to describe your business location. PO boxes or mailboxes located at remote locations are not acceptable. At this time, you can specify a maximum of five `address_lines` values in the address. This field should only be set for businesses that have a storefront. This field should not be set for locations of type `CUSTOMER_LOCATION_ONLY` but if set, any value provided will be discarded.
    &quot;addressLines&quot;: [ # Unstructured address lines describing the lower levels of an address. Because values in `address_lines` do not have type information and may sometimes contain multiple values in a single field (for example, &quot;Austin, TX&quot;), it is important that the line order is clear. The order of address lines should be &quot;envelope order&quot; for the country or region of the address. In places where this can vary (for example, Japan), `address_language` is used to make it explicit (for example, &quot;ja&quot; for large-to-small ordering and &quot;ja-Latn&quot; or &quot;en&quot; for small-to-large). In this way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a `region_code` with all remaining information placed in the `address_lines`. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a `region_code` and `address_lines` and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).
      &quot;A String&quot;,
    ],
    &quot;administrativeArea&quot;: &quot;A String&quot;, # Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. For Spain, this is the province and not the autonomous community (for example, &quot;Barcelona&quot; and not &quot;Catalonia&quot;). Many countries don&#x27;t use an administrative area in postal addresses. For example, in Switzerland, this should be left unpopulated.
    &quot;languageCode&quot;: &quot;A String&quot;, # Optional. BCP-47 language code of the contents of this address (if known). This is often the UI language of the input form or is expected to match one of the languages used in the address&#x27; country/region, or their transliterated equivalents. This can affect formatting in certain countries, but is not critical to the correctness of the data and will never affect any validation or other non-formatting related operations. If this value is not known, it should be omitted (rather than specifying a possibly incorrect default). Examples: &quot;zh-Hant&quot;, &quot;ja&quot;, &quot;ja-Latn&quot;, &quot;en&quot;.
    &quot;locality&quot;: &quot;A String&quot;, # Optional. Generally refers to the city or town portion of the address. Examples: US city, IT comune, UK post town. In regions of the world where localities are not well defined or do not fit into this structure well, leave `locality` empty and use `address_lines`.
    &quot;organization&quot;: &quot;A String&quot;, # Optional. The name of the organization at the address.
    &quot;postalCode&quot;: &quot;A String&quot;, # Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (for example, state or zip code validation in the United States).
    &quot;recipients&quot;: [ # Optional. The recipient at the address. This field may, under certain circumstances, contain multiline information. For example, it might contain &quot;care of&quot; information.
      &quot;A String&quot;,
    ],
    &quot;regionCode&quot;: &quot;A String&quot;, # Required. CLDR region code of the country/region of the address. This is never inferred and it is up to the user to ensure the value is correct. See https://cldr.unicode.org/ and https://www.unicode.org/cldr/charts/30/supplemental/territory_information.html for details. Example: &quot;CH&quot; for Switzerland.
    &quot;revision&quot;: 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is the latest revision. All new revisions **must** be backward compatible with old revisions.
    &quot;sortingCode&quot;: &quot;A String&quot;, # Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like &quot;CEDEX&quot;, optionally followed by a number (for example, &quot;CEDEX 7&quot;), or just a number alone, representing the &quot;sector code&quot; (Jamaica), &quot;delivery area indicator&quot; (Malawi) or &quot;post office indicator&quot; (Côte d&#x27;Ivoire).
    &quot;sublocality&quot;: &quot;A String&quot;, # Optional. Sublocality of the address. For example, this can be a neighborhood, borough, or district.
  },
  &quot;title&quot;: &quot;A String&quot;, # Required. Location name should reflect your business&#x27;s real-world name, as used consistently on your storefront, website, and stationery, and as known to customers. Any additional information, when relevant, can be included in other fields of the resource (for example, `Address`, `Categories`). Don&#x27;t add unnecessary information to your name (for example, prefer &quot;Google&quot; over &quot;Google Inc. - Mountain View Corporate Headquarters&quot;). Don&#x27;t include marketing taglines, store codes, special characters, hours or closed/open status, phone numbers, website URLs, service/product information, location/address or directions, or containment information (for example, &quot;Chase ATM in Duane Reade&quot;).
  &quot;websiteUri&quot;: &quot;A String&quot;, # Optional. A URL for this business. If possible, use a URL that represents this individual business location instead of a generic website/URL that represents all locations, or the brand.
}</pre>
</div>

<div class="method">
    <code class="details" id="getAttributes">getAttributes(name, x__xgafv=None)</code>
  <pre>Looks up all the attributes set for a given location.

Args:
  name: string, Required. Google identifier for this location in the form of `locations/{location_id}/attributes`. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A container for all the attributes for a given location.
  &quot;attributes&quot;: [ # A collection of attributes that need to be updated.
    { # A location attribute. Attributes provide additional information about a location. The attributes that can be set on a location may vary based on the properties of that location (for example, category). Available attributes are determined by Google and may be added and removed without API changes.
      &quot;name&quot;: &quot;A String&quot;, # Required. The resource name for this attribute.
      &quot;repeatedEnumValue&quot;: { # Values for an attribute with a `value_type` of REPEATED_ENUM. This consists of two lists of value IDs: those that are set (true) and those that are unset (false). Values absent are considered unknown. At least one value must be specified. # When the attribute value type is REPEATED_ENUM, this contains the attribute value, and the other values fields must be empty.
        &quot;setValues&quot;: [ # Enum values that are set.
          &quot;A String&quot;,
        ],
        &quot;unsetValues&quot;: [ # Enum values that are unset.
          &quot;A String&quot;,
        ],
      },
      &quot;uriValues&quot;: [ # When the attribute value type is URL, this field contains the value(s) for this attribute, and the other values fields must be empty.
        { # Values for an attribute with a `value_type` of URL.
          &quot;uri&quot;: &quot;A String&quot;, # Required. The proposed URI value for this attribute.
        },
      ],
      &quot;valueType&quot;: &quot;A String&quot;, # Output only. The type of value that this attribute contains. This should be used to determine how to interpret the value.
      &quot;values&quot;: [ # The values for this attribute. The type of the values supplied must match that expected for that attribute. This is a repeated field where multiple attribute values may be provided. Attribute types only support one value.
        &quot;&quot;,
      ],
    },
  ],
  &quot;name&quot;: &quot;A String&quot;, # Required. Google identifier for this location in the form of `locations/{location_id}/attributes`.
}</pre>
</div>

<div class="method">
    <code class="details" id="getGoogleUpdated">getGoogleUpdated(name, readMask=None, x__xgafv=None)</code>
  <pre>Gets the Google-updated version of the specified location.

Args:
  name: string, Required. The name of the location to fetch. (required)
  readMask: string, Required. Read mask to specify what fields will be returned in the response.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Represents a location that was modified by Google.
  &quot;diffMask&quot;: &quot;A String&quot;, # The fields that Google updated.
  &quot;location&quot;: { # A location. See the [help center article] (https://support.google.com/business/answer/3038177) for a detailed description of these fields, or the [category endpoint](/my-business/reference/rest/v4/categories) for a list of valid business categories. # The Google-updated version of this location.
    &quot;adWordsLocationExtensions&quot;: { # Additional information that is surfaced in AdWords. # Optional. Additional information that is surfaced in AdWords.
      &quot;adPhone&quot;: &quot;A String&quot;, # Required. An alternate phone number to display on AdWords location extensions instead of the location&#x27;s primary phone number.
    },
    &quot;categories&quot;: { # A collection of categories that describes the business. During updates, both fields must be set. Clients are prohibited from individually updating the primary or additional categories using the update mask. # Optional. The different categories that describe the business.
      &quot;additionalCategories&quot;: [ # Optional. Additional categories to describe your business. Categories help your customers find accurate, specific results for services they&#x27;re interested in. To keep your business information accurate and live, make sure that you use as few categories as possible to describe your overall core business. Choose categories that are as specific as possible, but representative of your main business.
        { # A category describing what this business is (not what it does). For a list of valid category IDs, and the mappings to their human-readable names, see `categories.list`.
          &quot;displayName&quot;: &quot;A String&quot;, # Output only. The human-readable name of the category. This is set when reading the location. When modifying the location, `category_id` must be set.
          &quot;moreHoursTypes&quot;: [ # Output only. More hours types that are available for this business category.
            { # More hours types that a business can offers, in addition to its regular hours.
              &quot;displayName&quot;: &quot;A String&quot;, # Output only. The human-readable English display name for the hours type.
              &quot;hoursTypeId&quot;: &quot;A String&quot;, # Output only. A stable ID provided by Google for this hours type.
              &quot;localizedDisplayName&quot;: &quot;A String&quot;, # Output only. The human-readable localized display name for the hours type.
            },
          ],
          &quot;name&quot;: &quot;A String&quot;, # Required. A stable ID (provided by Google) for this category. The value must be specified when modifying the category (when creating or updating a location).
          &quot;serviceTypes&quot;: [ # Output only. A list of all the service types that are available for this business category.
            { # A message describing a service type that the business offers.
              &quot;displayName&quot;: &quot;A String&quot;, # Output only. The human-readable display name for the service type.
              &quot;serviceTypeId&quot;: &quot;A String&quot;, # Output only. A stable ID (provided by Google) for this service type.
            },
          ],
        },
      ],
      &quot;primaryCategory&quot;: { # A category describing what this business is (not what it does). For a list of valid category IDs, and the mappings to their human-readable names, see `categories.list`. # Required. Category that best describes the core business this location engages in.
        &quot;displayName&quot;: &quot;A String&quot;, # Output only. The human-readable name of the category. This is set when reading the location. When modifying the location, `category_id` must be set.
        &quot;moreHoursTypes&quot;: [ # Output only. More hours types that are available for this business category.
          { # More hours types that a business can offers, in addition to its regular hours.
            &quot;displayName&quot;: &quot;A String&quot;, # Output only. The human-readable English display name for the hours type.
            &quot;hoursTypeId&quot;: &quot;A String&quot;, # Output only. A stable ID provided by Google for this hours type.
            &quot;localizedDisplayName&quot;: &quot;A String&quot;, # Output only. The human-readable localized display name for the hours type.
          },
        ],
        &quot;name&quot;: &quot;A String&quot;, # Required. A stable ID (provided by Google) for this category. The value must be specified when modifying the category (when creating or updating a location).
        &quot;serviceTypes&quot;: [ # Output only. A list of all the service types that are available for this business category.
          { # A message describing a service type that the business offers.
            &quot;displayName&quot;: &quot;A String&quot;, # Output only. The human-readable display name for the service type.
            &quot;serviceTypeId&quot;: &quot;A String&quot;, # Output only. A stable ID (provided by Google) for this service type.
          },
        ],
      },
    },
    &quot;labels&quot;: [ # Optional. A collection of free-form strings to allow you to tag your business. These labels are NOT user facing; only you can see them. Must be between 1-255 characters per label.
      &quot;A String&quot;,
    ],
    &quot;languageCode&quot;: &quot;A String&quot;, # Immutable. The language of the location. Set during creation and not updateable.
    &quot;latlng&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # Optional. User-provided latitude and longitude. When creating a location, this field is ignored if the provided address geocodes successfully. This field is only returned on get requests if the user-provided `latlng` value was accepted during create, or the `latlng` value was updated through the Google Business Profile website. This field can only be updated by approved clients.
      &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
      &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
    },
    &quot;metadata&quot;: { # Additional non-user-editable information about the location. # Output only. Additional non-user-editable information.
      &quot;canDelete&quot;: True or False, # Output only. Indicates whether the location can be deleted using the API.
      &quot;canHaveBusinessCalls&quot;: True or False, # Output only. Indicates if the listing is eligible for business calls.
      &quot;canHaveFoodMenus&quot;: True or False, # Output only. Indicates if the listing is eligible for food menu.
      &quot;canModifyServiceList&quot;: True or False, # Output only. Indicates if the listing can modify the service list.
      &quot;canOperateHealthData&quot;: True or False, # Output only. Indicates whether the location can operate on Health data.
      &quot;canOperateLocalPost&quot;: True or False, # Output only. Indicates if the listing can manage local posts. Deprecated: This field is no longer populated and will be removed in a future version.
      &quot;canOperateLodgingData&quot;: True or False, # Output only. Indicates whether the location can operate on Lodging data.
      &quot;duplicateLocation&quot;: &quot;A String&quot;, # Output only. The location resource that this location duplicates.
      &quot;hasGoogleUpdated&quot;: True or False, # Output only. Indicates whether the place ID associated with this location has updates that need to be updated or rejected by the client. If this boolean is set, you should call the `getGoogleUpdated` method to lookup information that&#x27;s needs to be verified.
      &quot;hasPendingEdits&quot;: True or False, # Output only. Indicates whether any of this Location&#x27;s properties are in the edit pending state.
      &quot;hasVoiceOfMerchant&quot;: True or False, # Output only. Indicates if the listing has Voice of Merchant. If this boolean is false, you should call the locations.getVoiceOfMerchantState API to get details as to why they do not have Voice of Merchant.
      &quot;isParticularlyPersonalPlace&quot;: True or False, # Output only.
      &quot;mapsUri&quot;: &quot;A String&quot;, # Output only. A link to the location on Maps.
      &quot;newReviewUri&quot;: &quot;A String&quot;, # Output only. A link to the page on Google Search where a customer can leave a review for the location.
      &quot;placeId&quot;: &quot;A String&quot;, # Output only. If this locationappears on Google Maps, this field is populated with the place ID for the location. This ID can be used in various Places APIs. This field can be set during Create calls, but not for Update.
    },
    &quot;moreHours&quot;: [ # Optional. More hours for a business&#x27;s different departments or specific customers.
      { # The time periods during which a location is open for certain types of business.
        &quot;hoursTypeId&quot;: &quot;A String&quot;, # Required. Type of hours. Clients should call {#link businessCategories:BatchGet} to get supported hours types for categories of their locations.
        &quot;periods&quot;: [ # Required. A collection of times that this location is open. Each period represents a range of hours when the location is open during the week.
          { # Represents a span of time that the business is open, starting on the specified open day/time and closing on the specified close day/time. The closing time must occur after the opening time, for example later in the same day, or on a subsequent day.
            &quot;closeDay&quot;: &quot;A String&quot;, # Required. Indicates the day of the week this period ends on.
            &quot;closeTime&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Required. Valid values are 00:00-24:00, where 24:00 represents midnight at the end of the specified day field.
              &quot;hours&quot;: 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
              &quot;minutes&quot;: 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
              &quot;nanos&quot;: 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
              &quot;seconds&quot;: 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
            },
            &quot;openDay&quot;: &quot;A String&quot;, # Required. Indicates the day of the week this period starts on.
            &quot;openTime&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Required. Valid values are 00:00-24:00, where 24:00 represents midnight at the end of the specified day field.
              &quot;hours&quot;: 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
              &quot;minutes&quot;: 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
              &quot;nanos&quot;: 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
              &quot;seconds&quot;: 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
            },
          },
        ],
      },
    ],
    &quot;name&quot;: &quot;A String&quot;, # Google identifier for this location in the form: `locations/{location_id}`.
    &quot;openInfo&quot;: { # Information related to the opening state of the business. # Optional. A flag that indicates whether the location is currently open for business.
      &quot;canReopen&quot;: True or False, # Output only. Indicates whether this business is eligible for re-open.
      &quot;openingDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Optional. The date on which the location first opened. If the exact day is not known, month and year only can be provided. The date must be in the past or be no more than one year in the future.
        &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
        &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
        &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
      },
      &quot;status&quot;: &quot;A String&quot;, # Required. Indicates whether or not the Location is currently open for business. All locations are open by default, unless updated to be closed.
    },
    &quot;phoneNumbers&quot;: { # A collection of phone numbers for the business. During updates, both fields must be set. Clients may not update just the primary or additional phone numbers using the update mask. International phone format is preferred, such as &quot;+1 415 555 0132&quot;, see more in (https://developers.google.com/style/phone-numbers#international-phone-numbers). # Optional. The different phone numbers that customers can use to get in touch with the business.
      &quot;additionalPhones&quot;: [ # Optional. Up to two phone numbers (mobile or landline, no fax) at which your business can be called, in addition to your primary phone number.
        &quot;A String&quot;,
      ],
      &quot;primaryPhone&quot;: &quot;A String&quot;, # Required. A phone number that connects to your individual business location as directly as possible. Use a local phone number instead of a central, call center helpline number whenever possible.
    },
    &quot;profile&quot;: { # All information pertaining to the location&#x27;s profile. # Optional. Describes your business in your own voice and shares with users the unique story of your business and offerings. This field is required for all categories except lodging categories (e.g. hotels, motels, inns).
      &quot;description&quot;: &quot;A String&quot;, # Required. Description of the location in your own voice, not editable by anyone else.
    },
    &quot;regularHours&quot;: { # Represents the time periods that this location is open for business. Holds a collection of TimePeriod instances. # Optional. Operating hours for the business.
      &quot;periods&quot;: [ # Required. A collection of times that this location is open for business. Each period represents a range of hours when the location is open during the week.
        { # Represents a span of time that the business is open, starting on the specified open day/time and closing on the specified close day/time. The closing time must occur after the opening time, for example later in the same day, or on a subsequent day.
          &quot;closeDay&quot;: &quot;A String&quot;, # Required. Indicates the day of the week this period ends on.
          &quot;closeTime&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Required. Valid values are 00:00-24:00, where 24:00 represents midnight at the end of the specified day field.
            &quot;hours&quot;: 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
            &quot;minutes&quot;: 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
            &quot;nanos&quot;: 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
            &quot;seconds&quot;: 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
          },
          &quot;openDay&quot;: &quot;A String&quot;, # Required. Indicates the day of the week this period starts on.
          &quot;openTime&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Required. Valid values are 00:00-24:00, where 24:00 represents midnight at the end of the specified day field.
            &quot;hours&quot;: 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
            &quot;minutes&quot;: 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
            &quot;nanos&quot;: 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
            &quot;seconds&quot;: 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
          },
        },
      ],
    },
    &quot;relationshipData&quot;: { # Information of all parent and children locations related to this one. # Optional. All locations and chain related to this one.
      &quot;childrenLocations&quot;: [ # The list of children locations that this location has relations with.
        { # Information about another location that is related to current one. The relation can be any one of DEPARTMENT_OF or INDEPENDENT_ESTABLISHMENT_OF, and the location specified here can be on either side (parent/child) of the location.
          &quot;placeId&quot;: &quot;A String&quot;, # Required. Specify the location that is on the other side of the relation by its placeID.
          &quot;relationType&quot;: &quot;A String&quot;, # Required. The type of the relationship.
        },
      ],
      &quot;parentChain&quot;: &quot;A String&quot;, # The resource name of the Chain that this location is member of. How to find Chain ID
      &quot;parentLocation&quot;: { # Information about another location that is related to current one. The relation can be any one of DEPARTMENT_OF or INDEPENDENT_ESTABLISHMENT_OF, and the location specified here can be on either side (parent/child) of the location. # The parent location that this location has relations with.
        &quot;placeId&quot;: &quot;A String&quot;, # Required. Specify the location that is on the other side of the relation by its placeID.
        &quot;relationType&quot;: &quot;A String&quot;, # Required. The type of the relationship.
      },
    },
    &quot;serviceArea&quot;: { # Service area businesses provide their service at the customer&#x27;s location (for example, a locksmith or plumber). # Optional. Service area businesses provide their service at the customer&#x27;s location. If this business is a service area business, this field describes the area(s) serviced by the business.
      &quot;businessType&quot;: &quot;A String&quot;, # Required. Indicates the type of the service area business.
      &quot;places&quot;: { # Defines the union of areas represented by a set of places. # The area that this business serves defined through a set of places.
        &quot;placeInfos&quot;: [ # The areas represented by place IDs. Limited to a maximum of 20 places.
          { # Defines an area that&#x27;s represented by a place ID.
            &quot;placeId&quot;: &quot;A String&quot;, # Required. The ID of the place. Must correspond to a region. (https://developers.google.com/places/web-service/supported_types#table3)
            &quot;placeName&quot;: &quot;A String&quot;, # Required. The localized name of the place. For example, `Scottsdale, AZ`.
          },
        ],
      },
      &quot;regionCode&quot;: &quot;A String&quot;, # Immutable. CLDR region code of the country/region that this service area business is based in. See http://cldr.unicode.org/ and http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html for details. Example: &quot;CH&quot; for Switzerland. This field is required for CUSTOMER_LOCATION_ONLY businesses, and is ignored otherwise. The region specified here can be different from regions for the areas that this business serves (e.g. service area businesses that provide services in regions other than the one that they are based in). If this location requires verification after creation, the address provided for verification purposes *must* be located within this region, and the business owner or their authorized representative *must* be able to receive postal mail at the provided verification address.
    },
    &quot;serviceItems&quot;: [ # Optional. List of services supported by merchants. A service can be haircut, install water heater, etc. Duplicated service items will be removed automatically.
      { # A message that describes a single service item. It is used to describe the type of service that the merchant provides. For example, haircut can be a service.
        &quot;freeFormServiceItem&quot;: { # Represents a free-form service offered by the merchant. These are services that are not exposed as part of our structure service data. The merchant manually enters the names for of such services via a geomerchant surface. # Optional. This field will be set case of free-form services data.
          &quot;category&quot;: &quot;A String&quot;, # Required. This field represents the category name (i.e. the category&#x27;s stable ID). The `category` and `service_type_id` should match the possible combinations provided in the `Category` message.
          &quot;label&quot;: { # Label to be used when displaying the price list, section, or item. # Required. Language-tagged labels for the item. We recommend that item names be 140 characters or less, and descriptions 250 characters or less. This field should only be set if the input is a custom service item. Standardized service types should be updated via service_type_id.
            &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the price list, section, or item.
            &quot;displayName&quot;: &quot;A String&quot;, # Required. Display name for the price list, section, or item.
            &quot;languageCode&quot;: &quot;A String&quot;, # Optional. The BCP-47 language code that these strings apply for. Only one set of labels may be set per language.
          },
        },
        &quot;price&quot;: { # Represents an amount of money with its currency type. # Optional. Represents the monetary price of the service item. We recommend that currency_code and units should be set when including a price. This will be treated as a fixed price for the service item.
          &quot;currencyCode&quot;: &quot;A String&quot;, # The three-letter currency code defined in ISO 4217.
          &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
          &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount. For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
        },
        &quot;structuredServiceItem&quot;: { # Represents a structured service offered by the merchant. For eg: toilet_installation. # Optional. This field will be set case of structured services data.
          &quot;description&quot;: &quot;A String&quot;, # Optional. Description of structured service item. The character limit is 300.
          &quot;serviceTypeId&quot;: &quot;A String&quot;, # Required. The `service_type_id` field is a Google provided unique ID that can be found in `ServiceType`. This information is provided by `BatchGetCategories` rpc service.
        },
      },
    ],
    &quot;specialHours&quot;: { # Represents a set of time periods when a location&#x27;s operational hours differ from its normal business hours. # Optional. Special hours for the business. This typically includes holiday hours, and other times outside of regular operating hours. These override regular business hours. This field cannot be set without regular hours.
      &quot;specialHourPeriods&quot;: [ # Required. A list of exceptions to the business&#x27;s regular hours.
        { # Represents a single time period when a location&#x27;s operational hours differ from its normal business hours. A special hour period must represent a range of less than 24 hours. The `open_time` and `start_date` must predate the `close_time` and `end_date`. The `close_time` and `end_date` can extend to 11:59 a.m. on the day after the specified `start_date`. For example, the following inputs are valid: start_date=2015-11-23, open_time=08:00, close_time=18:00 start_date=2015-11-23, end_date=2015-11-23, open_time=08:00, close_time=18:00 start_date=2015-11-23, end_date=2015-11-24, open_time=13:00, close_time=11:59 The following inputs are not valid: start_date=2015-11-23, open_time=13:00, close_time=11:59 start_date=2015-11-23, end_date=2015-11-24, open_time=13:00, close_time=12:00 start_date=2015-11-23, end_date=2015-11-25, open_time=08:00, close_time=18:00
          &quot;closeTime&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Valid values are 00:00-24:00, where 24:00 represents midnight at the end of the specified day field. Must be specified if `closed` is false.
            &quot;hours&quot;: 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
            &quot;minutes&quot;: 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
            &quot;nanos&quot;: 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
            &quot;seconds&quot;: 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
          },
          &quot;closed&quot;: True or False, # Optional. If true, `end_date`, `open_time`, and `close_time` are ignored, and the date specified in `start_date` is treated as the location being closed for the entire day.
          &quot;endDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Optional. The calendar date this special hour period ends on. If `end_date` field is not set, default to the date specified in `start_date`. If set, this field must be equal to or at most 1 day after `start_date`.
            &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
            &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
            &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
          },
          &quot;openTime&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Valid values are 00:00-24:00 where 24:00 represents midnight at the end of the specified day field. Must be specified if `closed` is false.
            &quot;hours&quot;: 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
            &quot;minutes&quot;: 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
            &quot;nanos&quot;: 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
            &quot;seconds&quot;: 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
          },
          &quot;startDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. The calendar date this special hour period starts on.
            &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
            &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
            &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
          },
        },
      ],
    },
    &quot;storeCode&quot;: &quot;A String&quot;, # Optional. External identifier for this location, which must be unique within a given account. This is a means of associating the location with your own records.
    &quot;storefrontAddress&quot;: { # Represents a postal address, such as for postal delivery or payments addresses. With a postal address, a postal service can deliver items to a premise, P.O. box, or similar. A postal address is not intended to model geographical locations like roads, towns, or mountains. In typical usage, an address would be created by user input or from importing existing data, depending on the type of process. Advice on address input or editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput. - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, see: https://support.google.com/business/answer/6397478. # Optional. A precise, accurate address to describe your business location. PO boxes or mailboxes located at remote locations are not acceptable. At this time, you can specify a maximum of five `address_lines` values in the address. This field should only be set for businesses that have a storefront. This field should not be set for locations of type `CUSTOMER_LOCATION_ONLY` but if set, any value provided will be discarded.
      &quot;addressLines&quot;: [ # Unstructured address lines describing the lower levels of an address. Because values in `address_lines` do not have type information and may sometimes contain multiple values in a single field (for example, &quot;Austin, TX&quot;), it is important that the line order is clear. The order of address lines should be &quot;envelope order&quot; for the country or region of the address. In places where this can vary (for example, Japan), `address_language` is used to make it explicit (for example, &quot;ja&quot; for large-to-small ordering and &quot;ja-Latn&quot; or &quot;en&quot; for small-to-large). In this way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a `region_code` with all remaining information placed in the `address_lines`. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a `region_code` and `address_lines` and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).
        &quot;A String&quot;,
      ],
      &quot;administrativeArea&quot;: &quot;A String&quot;, # Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. For Spain, this is the province and not the autonomous community (for example, &quot;Barcelona&quot; and not &quot;Catalonia&quot;). Many countries don&#x27;t use an administrative area in postal addresses. For example, in Switzerland, this should be left unpopulated.
      &quot;languageCode&quot;: &quot;A String&quot;, # Optional. BCP-47 language code of the contents of this address (if known). This is often the UI language of the input form or is expected to match one of the languages used in the address&#x27; country/region, or their transliterated equivalents. This can affect formatting in certain countries, but is not critical to the correctness of the data and will never affect any validation or other non-formatting related operations. If this value is not known, it should be omitted (rather than specifying a possibly incorrect default). Examples: &quot;zh-Hant&quot;, &quot;ja&quot;, &quot;ja-Latn&quot;, &quot;en&quot;.
      &quot;locality&quot;: &quot;A String&quot;, # Optional. Generally refers to the city or town portion of the address. Examples: US city, IT comune, UK post town. In regions of the world where localities are not well defined or do not fit into this structure well, leave `locality` empty and use `address_lines`.
      &quot;organization&quot;: &quot;A String&quot;, # Optional. The name of the organization at the address.
      &quot;postalCode&quot;: &quot;A String&quot;, # Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (for example, state or zip code validation in the United States).
      &quot;recipients&quot;: [ # Optional. The recipient at the address. This field may, under certain circumstances, contain multiline information. For example, it might contain &quot;care of&quot; information.
        &quot;A String&quot;,
      ],
      &quot;regionCode&quot;: &quot;A String&quot;, # Required. CLDR region code of the country/region of the address. This is never inferred and it is up to the user to ensure the value is correct. See https://cldr.unicode.org/ and https://www.unicode.org/cldr/charts/30/supplemental/territory_information.html for details. Example: &quot;CH&quot; for Switzerland.
      &quot;revision&quot;: 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is the latest revision. All new revisions **must** be backward compatible with old revisions.
      &quot;sortingCode&quot;: &quot;A String&quot;, # Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like &quot;CEDEX&quot;, optionally followed by a number (for example, &quot;CEDEX 7&quot;), or just a number alone, representing the &quot;sector code&quot; (Jamaica), &quot;delivery area indicator&quot; (Malawi) or &quot;post office indicator&quot; (Côte d&#x27;Ivoire).
      &quot;sublocality&quot;: &quot;A String&quot;, # Optional. Sublocality of the address. For example, this can be a neighborhood, borough, or district.
    },
    &quot;title&quot;: &quot;A String&quot;, # Required. Location name should reflect your business&#x27;s real-world name, as used consistently on your storefront, website, and stationery, and as known to customers. Any additional information, when relevant, can be included in other fields of the resource (for example, `Address`, `Categories`). Don&#x27;t add unnecessary information to your name (for example, prefer &quot;Google&quot; over &quot;Google Inc. - Mountain View Corporate Headquarters&quot;). Don&#x27;t include marketing taglines, store codes, special characters, hours or closed/open status, phone numbers, website URLs, service/product information, location/address or directions, or containment information (for example, &quot;Chase ATM in Duane Reade&quot;).
    &quot;websiteUri&quot;: &quot;A String&quot;, # Optional. A URL for this business. If possible, use a URL that represents this individual business location instead of a generic website/URL that represents all locations, or the brand.
  },
  &quot;pendingMask&quot;: &quot;A String&quot;, # The fields that have pending edits that haven&#x27;t yet been pushed to Maps and Search.
}</pre>
</div>

<div class="method">
    <code class="details" id="patch">patch(name, body=None, updateMask=None, validateOnly=None, x__xgafv=None)</code>
  <pre>Updates the specified location.

Args:
  name: string, Google identifier for this location in the form: `locations/{location_id}`. (required)
  body: object, The request body.
    The object takes the form of:

{ # A location. See the [help center article] (https://support.google.com/business/answer/3038177) for a detailed description of these fields, or the [category endpoint](/my-business/reference/rest/v4/categories) for a list of valid business categories.
  &quot;adWordsLocationExtensions&quot;: { # Additional information that is surfaced in AdWords. # Optional. Additional information that is surfaced in AdWords.
    &quot;adPhone&quot;: &quot;A String&quot;, # Required. An alternate phone number to display on AdWords location extensions instead of the location&#x27;s primary phone number.
  },
  &quot;categories&quot;: { # A collection of categories that describes the business. During updates, both fields must be set. Clients are prohibited from individually updating the primary or additional categories using the update mask. # Optional. The different categories that describe the business.
    &quot;additionalCategories&quot;: [ # Optional. Additional categories to describe your business. Categories help your customers find accurate, specific results for services they&#x27;re interested in. To keep your business information accurate and live, make sure that you use as few categories as possible to describe your overall core business. Choose categories that are as specific as possible, but representative of your main business.
      { # A category describing what this business is (not what it does). For a list of valid category IDs, and the mappings to their human-readable names, see `categories.list`.
        &quot;displayName&quot;: &quot;A String&quot;, # Output only. The human-readable name of the category. This is set when reading the location. When modifying the location, `category_id` must be set.
        &quot;moreHoursTypes&quot;: [ # Output only. More hours types that are available for this business category.
          { # More hours types that a business can offers, in addition to its regular hours.
            &quot;displayName&quot;: &quot;A String&quot;, # Output only. The human-readable English display name for the hours type.
            &quot;hoursTypeId&quot;: &quot;A String&quot;, # Output only. A stable ID provided by Google for this hours type.
            &quot;localizedDisplayName&quot;: &quot;A String&quot;, # Output only. The human-readable localized display name for the hours type.
          },
        ],
        &quot;name&quot;: &quot;A String&quot;, # Required. A stable ID (provided by Google) for this category. The value must be specified when modifying the category (when creating or updating a location).
        &quot;serviceTypes&quot;: [ # Output only. A list of all the service types that are available for this business category.
          { # A message describing a service type that the business offers.
            &quot;displayName&quot;: &quot;A String&quot;, # Output only. The human-readable display name for the service type.
            &quot;serviceTypeId&quot;: &quot;A String&quot;, # Output only. A stable ID (provided by Google) for this service type.
          },
        ],
      },
    ],
    &quot;primaryCategory&quot;: { # A category describing what this business is (not what it does). For a list of valid category IDs, and the mappings to their human-readable names, see `categories.list`. # Required. Category that best describes the core business this location engages in.
      &quot;displayName&quot;: &quot;A String&quot;, # Output only. The human-readable name of the category. This is set when reading the location. When modifying the location, `category_id` must be set.
      &quot;moreHoursTypes&quot;: [ # Output only. More hours types that are available for this business category.
        { # More hours types that a business can offers, in addition to its regular hours.
          &quot;displayName&quot;: &quot;A String&quot;, # Output only. The human-readable English display name for the hours type.
          &quot;hoursTypeId&quot;: &quot;A String&quot;, # Output only. A stable ID provided by Google for this hours type.
          &quot;localizedDisplayName&quot;: &quot;A String&quot;, # Output only. The human-readable localized display name for the hours type.
        },
      ],
      &quot;name&quot;: &quot;A String&quot;, # Required. A stable ID (provided by Google) for this category. The value must be specified when modifying the category (when creating or updating a location).
      &quot;serviceTypes&quot;: [ # Output only. A list of all the service types that are available for this business category.
        { # A message describing a service type that the business offers.
          &quot;displayName&quot;: &quot;A String&quot;, # Output only. The human-readable display name for the service type.
          &quot;serviceTypeId&quot;: &quot;A String&quot;, # Output only. A stable ID (provided by Google) for this service type.
        },
      ],
    },
  },
  &quot;labels&quot;: [ # Optional. A collection of free-form strings to allow you to tag your business. These labels are NOT user facing; only you can see them. Must be between 1-255 characters per label.
    &quot;A String&quot;,
  ],
  &quot;languageCode&quot;: &quot;A String&quot;, # Immutable. The language of the location. Set during creation and not updateable.
  &quot;latlng&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # Optional. User-provided latitude and longitude. When creating a location, this field is ignored if the provided address geocodes successfully. This field is only returned on get requests if the user-provided `latlng` value was accepted during create, or the `latlng` value was updated through the Google Business Profile website. This field can only be updated by approved clients.
    &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
    &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
  },
  &quot;metadata&quot;: { # Additional non-user-editable information about the location. # Output only. Additional non-user-editable information.
    &quot;canDelete&quot;: True or False, # Output only. Indicates whether the location can be deleted using the API.
    &quot;canHaveBusinessCalls&quot;: True or False, # Output only. Indicates if the listing is eligible for business calls.
    &quot;canHaveFoodMenus&quot;: True or False, # Output only. Indicates if the listing is eligible for food menu.
    &quot;canModifyServiceList&quot;: True or False, # Output only. Indicates if the listing can modify the service list.
    &quot;canOperateHealthData&quot;: True or False, # Output only. Indicates whether the location can operate on Health data.
    &quot;canOperateLocalPost&quot;: True or False, # Output only. Indicates if the listing can manage local posts. Deprecated: This field is no longer populated and will be removed in a future version.
    &quot;canOperateLodgingData&quot;: True or False, # Output only. Indicates whether the location can operate on Lodging data.
    &quot;duplicateLocation&quot;: &quot;A String&quot;, # Output only. The location resource that this location duplicates.
    &quot;hasGoogleUpdated&quot;: True or False, # Output only. Indicates whether the place ID associated with this location has updates that need to be updated or rejected by the client. If this boolean is set, you should call the `getGoogleUpdated` method to lookup information that&#x27;s needs to be verified.
    &quot;hasPendingEdits&quot;: True or False, # Output only. Indicates whether any of this Location&#x27;s properties are in the edit pending state.
    &quot;hasVoiceOfMerchant&quot;: True or False, # Output only. Indicates if the listing has Voice of Merchant. If this boolean is false, you should call the locations.getVoiceOfMerchantState API to get details as to why they do not have Voice of Merchant.
    &quot;isParticularlyPersonalPlace&quot;: True or False, # Output only.
    &quot;mapsUri&quot;: &quot;A String&quot;, # Output only. A link to the location on Maps.
    &quot;newReviewUri&quot;: &quot;A String&quot;, # Output only. A link to the page on Google Search where a customer can leave a review for the location.
    &quot;placeId&quot;: &quot;A String&quot;, # Output only. If this locationappears on Google Maps, this field is populated with the place ID for the location. This ID can be used in various Places APIs. This field can be set during Create calls, but not for Update.
  },
  &quot;moreHours&quot;: [ # Optional. More hours for a business&#x27;s different departments or specific customers.
    { # The time periods during which a location is open for certain types of business.
      &quot;hoursTypeId&quot;: &quot;A String&quot;, # Required. Type of hours. Clients should call {#link businessCategories:BatchGet} to get supported hours types for categories of their locations.
      &quot;periods&quot;: [ # Required. A collection of times that this location is open. Each period represents a range of hours when the location is open during the week.
        { # Represents a span of time that the business is open, starting on the specified open day/time and closing on the specified close day/time. The closing time must occur after the opening time, for example later in the same day, or on a subsequent day.
          &quot;closeDay&quot;: &quot;A String&quot;, # Required. Indicates the day of the week this period ends on.
          &quot;closeTime&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Required. Valid values are 00:00-24:00, where 24:00 represents midnight at the end of the specified day field.
            &quot;hours&quot;: 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
            &quot;minutes&quot;: 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
            &quot;nanos&quot;: 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
            &quot;seconds&quot;: 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
          },
          &quot;openDay&quot;: &quot;A String&quot;, # Required. Indicates the day of the week this period starts on.
          &quot;openTime&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Required. Valid values are 00:00-24:00, where 24:00 represents midnight at the end of the specified day field.
            &quot;hours&quot;: 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
            &quot;minutes&quot;: 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
            &quot;nanos&quot;: 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
            &quot;seconds&quot;: 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
          },
        },
      ],
    },
  ],
  &quot;name&quot;: &quot;A String&quot;, # Google identifier for this location in the form: `locations/{location_id}`.
  &quot;openInfo&quot;: { # Information related to the opening state of the business. # Optional. A flag that indicates whether the location is currently open for business.
    &quot;canReopen&quot;: True or False, # Output only. Indicates whether this business is eligible for re-open.
    &quot;openingDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Optional. The date on which the location first opened. If the exact day is not known, month and year only can be provided. The date must be in the past or be no more than one year in the future.
      &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
      &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
      &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    },
    &quot;status&quot;: &quot;A String&quot;, # Required. Indicates whether or not the Location is currently open for business. All locations are open by default, unless updated to be closed.
  },
  &quot;phoneNumbers&quot;: { # A collection of phone numbers for the business. During updates, both fields must be set. Clients may not update just the primary or additional phone numbers using the update mask. International phone format is preferred, such as &quot;+1 415 555 0132&quot;, see more in (https://developers.google.com/style/phone-numbers#international-phone-numbers). # Optional. The different phone numbers that customers can use to get in touch with the business.
    &quot;additionalPhones&quot;: [ # Optional. Up to two phone numbers (mobile or landline, no fax) at which your business can be called, in addition to your primary phone number.
      &quot;A String&quot;,
    ],
    &quot;primaryPhone&quot;: &quot;A String&quot;, # Required. A phone number that connects to your individual business location as directly as possible. Use a local phone number instead of a central, call center helpline number whenever possible.
  },
  &quot;profile&quot;: { # All information pertaining to the location&#x27;s profile. # Optional. Describes your business in your own voice and shares with users the unique story of your business and offerings. This field is required for all categories except lodging categories (e.g. hotels, motels, inns).
    &quot;description&quot;: &quot;A String&quot;, # Required. Description of the location in your own voice, not editable by anyone else.
  },
  &quot;regularHours&quot;: { # Represents the time periods that this location is open for business. Holds a collection of TimePeriod instances. # Optional. Operating hours for the business.
    &quot;periods&quot;: [ # Required. A collection of times that this location is open for business. Each period represents a range of hours when the location is open during the week.
      { # Represents a span of time that the business is open, starting on the specified open day/time and closing on the specified close day/time. The closing time must occur after the opening time, for example later in the same day, or on a subsequent day.
        &quot;closeDay&quot;: &quot;A String&quot;, # Required. Indicates the day of the week this period ends on.
        &quot;closeTime&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Required. Valid values are 00:00-24:00, where 24:00 represents midnight at the end of the specified day field.
          &quot;hours&quot;: 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
          &quot;minutes&quot;: 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
          &quot;nanos&quot;: 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
          &quot;seconds&quot;: 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
        },
        &quot;openDay&quot;: &quot;A String&quot;, # Required. Indicates the day of the week this period starts on.
        &quot;openTime&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Required. Valid values are 00:00-24:00, where 24:00 represents midnight at the end of the specified day field.
          &quot;hours&quot;: 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
          &quot;minutes&quot;: 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
          &quot;nanos&quot;: 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
          &quot;seconds&quot;: 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
        },
      },
    ],
  },
  &quot;relationshipData&quot;: { # Information of all parent and children locations related to this one. # Optional. All locations and chain related to this one.
    &quot;childrenLocations&quot;: [ # The list of children locations that this location has relations with.
      { # Information about another location that is related to current one. The relation can be any one of DEPARTMENT_OF or INDEPENDENT_ESTABLISHMENT_OF, and the location specified here can be on either side (parent/child) of the location.
        &quot;placeId&quot;: &quot;A String&quot;, # Required. Specify the location that is on the other side of the relation by its placeID.
        &quot;relationType&quot;: &quot;A String&quot;, # Required. The type of the relationship.
      },
    ],
    &quot;parentChain&quot;: &quot;A String&quot;, # The resource name of the Chain that this location is member of. How to find Chain ID
    &quot;parentLocation&quot;: { # Information about another location that is related to current one. The relation can be any one of DEPARTMENT_OF or INDEPENDENT_ESTABLISHMENT_OF, and the location specified here can be on either side (parent/child) of the location. # The parent location that this location has relations with.
      &quot;placeId&quot;: &quot;A String&quot;, # Required. Specify the location that is on the other side of the relation by its placeID.
      &quot;relationType&quot;: &quot;A String&quot;, # Required. The type of the relationship.
    },
  },
  &quot;serviceArea&quot;: { # Service area businesses provide their service at the customer&#x27;s location (for example, a locksmith or plumber). # Optional. Service area businesses provide their service at the customer&#x27;s location. If this business is a service area business, this field describes the area(s) serviced by the business.
    &quot;businessType&quot;: &quot;A String&quot;, # Required. Indicates the type of the service area business.
    &quot;places&quot;: { # Defines the union of areas represented by a set of places. # The area that this business serves defined through a set of places.
      &quot;placeInfos&quot;: [ # The areas represented by place IDs. Limited to a maximum of 20 places.
        { # Defines an area that&#x27;s represented by a place ID.
          &quot;placeId&quot;: &quot;A String&quot;, # Required. The ID of the place. Must correspond to a region. (https://developers.google.com/places/web-service/supported_types#table3)
          &quot;placeName&quot;: &quot;A String&quot;, # Required. The localized name of the place. For example, `Scottsdale, AZ`.
        },
      ],
    },
    &quot;regionCode&quot;: &quot;A String&quot;, # Immutable. CLDR region code of the country/region that this service area business is based in. See http://cldr.unicode.org/ and http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html for details. Example: &quot;CH&quot; for Switzerland. This field is required for CUSTOMER_LOCATION_ONLY businesses, and is ignored otherwise. The region specified here can be different from regions for the areas that this business serves (e.g. service area businesses that provide services in regions other than the one that they are based in). If this location requires verification after creation, the address provided for verification purposes *must* be located within this region, and the business owner or their authorized representative *must* be able to receive postal mail at the provided verification address.
  },
  &quot;serviceItems&quot;: [ # Optional. List of services supported by merchants. A service can be haircut, install water heater, etc. Duplicated service items will be removed automatically.
    { # A message that describes a single service item. It is used to describe the type of service that the merchant provides. For example, haircut can be a service.
      &quot;freeFormServiceItem&quot;: { # Represents a free-form service offered by the merchant. These are services that are not exposed as part of our structure service data. The merchant manually enters the names for of such services via a geomerchant surface. # Optional. This field will be set case of free-form services data.
        &quot;category&quot;: &quot;A String&quot;, # Required. This field represents the category name (i.e. the category&#x27;s stable ID). The `category` and `service_type_id` should match the possible combinations provided in the `Category` message.
        &quot;label&quot;: { # Label to be used when displaying the price list, section, or item. # Required. Language-tagged labels for the item. We recommend that item names be 140 characters or less, and descriptions 250 characters or less. This field should only be set if the input is a custom service item. Standardized service types should be updated via service_type_id.
          &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the price list, section, or item.
          &quot;displayName&quot;: &quot;A String&quot;, # Required. Display name for the price list, section, or item.
          &quot;languageCode&quot;: &quot;A String&quot;, # Optional. The BCP-47 language code that these strings apply for. Only one set of labels may be set per language.
        },
      },
      &quot;price&quot;: { # Represents an amount of money with its currency type. # Optional. Represents the monetary price of the service item. We recommend that currency_code and units should be set when including a price. This will be treated as a fixed price for the service item.
        &quot;currencyCode&quot;: &quot;A String&quot;, # The three-letter currency code defined in ISO 4217.
        &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
        &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount. For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
      },
      &quot;structuredServiceItem&quot;: { # Represents a structured service offered by the merchant. For eg: toilet_installation. # Optional. This field will be set case of structured services data.
        &quot;description&quot;: &quot;A String&quot;, # Optional. Description of structured service item. The character limit is 300.
        &quot;serviceTypeId&quot;: &quot;A String&quot;, # Required. The `service_type_id` field is a Google provided unique ID that can be found in `ServiceType`. This information is provided by `BatchGetCategories` rpc service.
      },
    },
  ],
  &quot;specialHours&quot;: { # Represents a set of time periods when a location&#x27;s operational hours differ from its normal business hours. # Optional. Special hours for the business. This typically includes holiday hours, and other times outside of regular operating hours. These override regular business hours. This field cannot be set without regular hours.
    &quot;specialHourPeriods&quot;: [ # Required. A list of exceptions to the business&#x27;s regular hours.
      { # Represents a single time period when a location&#x27;s operational hours differ from its normal business hours. A special hour period must represent a range of less than 24 hours. The `open_time` and `start_date` must predate the `close_time` and `end_date`. The `close_time` and `end_date` can extend to 11:59 a.m. on the day after the specified `start_date`. For example, the following inputs are valid: start_date=2015-11-23, open_time=08:00, close_time=18:00 start_date=2015-11-23, end_date=2015-11-23, open_time=08:00, close_time=18:00 start_date=2015-11-23, end_date=2015-11-24, open_time=13:00, close_time=11:59 The following inputs are not valid: start_date=2015-11-23, open_time=13:00, close_time=11:59 start_date=2015-11-23, end_date=2015-11-24, open_time=13:00, close_time=12:00 start_date=2015-11-23, end_date=2015-11-25, open_time=08:00, close_time=18:00
        &quot;closeTime&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Valid values are 00:00-24:00, where 24:00 represents midnight at the end of the specified day field. Must be specified if `closed` is false.
          &quot;hours&quot;: 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
          &quot;minutes&quot;: 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
          &quot;nanos&quot;: 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
          &quot;seconds&quot;: 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
        },
        &quot;closed&quot;: True or False, # Optional. If true, `end_date`, `open_time`, and `close_time` are ignored, and the date specified in `start_date` is treated as the location being closed for the entire day.
        &quot;endDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Optional. The calendar date this special hour period ends on. If `end_date` field is not set, default to the date specified in `start_date`. If set, this field must be equal to or at most 1 day after `start_date`.
          &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
          &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
          &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
        },
        &quot;openTime&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Valid values are 00:00-24:00 where 24:00 represents midnight at the end of the specified day field. Must be specified if `closed` is false.
          &quot;hours&quot;: 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
          &quot;minutes&quot;: 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
          &quot;nanos&quot;: 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
          &quot;seconds&quot;: 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
        },
        &quot;startDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. The calendar date this special hour period starts on.
          &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
          &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
          &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
        },
      },
    ],
  },
  &quot;storeCode&quot;: &quot;A String&quot;, # Optional. External identifier for this location, which must be unique within a given account. This is a means of associating the location with your own records.
  &quot;storefrontAddress&quot;: { # Represents a postal address, such as for postal delivery or payments addresses. With a postal address, a postal service can deliver items to a premise, P.O. box, or similar. A postal address is not intended to model geographical locations like roads, towns, or mountains. In typical usage, an address would be created by user input or from importing existing data, depending on the type of process. Advice on address input or editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput. - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, see: https://support.google.com/business/answer/6397478. # Optional. A precise, accurate address to describe your business location. PO boxes or mailboxes located at remote locations are not acceptable. At this time, you can specify a maximum of five `address_lines` values in the address. This field should only be set for businesses that have a storefront. This field should not be set for locations of type `CUSTOMER_LOCATION_ONLY` but if set, any value provided will be discarded.
    &quot;addressLines&quot;: [ # Unstructured address lines describing the lower levels of an address. Because values in `address_lines` do not have type information and may sometimes contain multiple values in a single field (for example, &quot;Austin, TX&quot;), it is important that the line order is clear. The order of address lines should be &quot;envelope order&quot; for the country or region of the address. In places where this can vary (for example, Japan), `address_language` is used to make it explicit (for example, &quot;ja&quot; for large-to-small ordering and &quot;ja-Latn&quot; or &quot;en&quot; for small-to-large). In this way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a `region_code` with all remaining information placed in the `address_lines`. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a `region_code` and `address_lines` and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).
      &quot;A String&quot;,
    ],
    &quot;administrativeArea&quot;: &quot;A String&quot;, # Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. For Spain, this is the province and not the autonomous community (for example, &quot;Barcelona&quot; and not &quot;Catalonia&quot;). Many countries don&#x27;t use an administrative area in postal addresses. For example, in Switzerland, this should be left unpopulated.
    &quot;languageCode&quot;: &quot;A String&quot;, # Optional. BCP-47 language code of the contents of this address (if known). This is often the UI language of the input form or is expected to match one of the languages used in the address&#x27; country/region, or their transliterated equivalents. This can affect formatting in certain countries, but is not critical to the correctness of the data and will never affect any validation or other non-formatting related operations. If this value is not known, it should be omitted (rather than specifying a possibly incorrect default). Examples: &quot;zh-Hant&quot;, &quot;ja&quot;, &quot;ja-Latn&quot;, &quot;en&quot;.
    &quot;locality&quot;: &quot;A String&quot;, # Optional. Generally refers to the city or town portion of the address. Examples: US city, IT comune, UK post town. In regions of the world where localities are not well defined or do not fit into this structure well, leave `locality` empty and use `address_lines`.
    &quot;organization&quot;: &quot;A String&quot;, # Optional. The name of the organization at the address.
    &quot;postalCode&quot;: &quot;A String&quot;, # Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (for example, state or zip code validation in the United States).
    &quot;recipients&quot;: [ # Optional. The recipient at the address. This field may, under certain circumstances, contain multiline information. For example, it might contain &quot;care of&quot; information.
      &quot;A String&quot;,
    ],
    &quot;regionCode&quot;: &quot;A String&quot;, # Required. CLDR region code of the country/region of the address. This is never inferred and it is up to the user to ensure the value is correct. See https://cldr.unicode.org/ and https://www.unicode.org/cldr/charts/30/supplemental/territory_information.html for details. Example: &quot;CH&quot; for Switzerland.
    &quot;revision&quot;: 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is the latest revision. All new revisions **must** be backward compatible with old revisions.
    &quot;sortingCode&quot;: &quot;A String&quot;, # Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like &quot;CEDEX&quot;, optionally followed by a number (for example, &quot;CEDEX 7&quot;), or just a number alone, representing the &quot;sector code&quot; (Jamaica), &quot;delivery area indicator&quot; (Malawi) or &quot;post office indicator&quot; (Côte d&#x27;Ivoire).
    &quot;sublocality&quot;: &quot;A String&quot;, # Optional. Sublocality of the address. For example, this can be a neighborhood, borough, or district.
  },
  &quot;title&quot;: &quot;A String&quot;, # Required. Location name should reflect your business&#x27;s real-world name, as used consistently on your storefront, website, and stationery, and as known to customers. Any additional information, when relevant, can be included in other fields of the resource (for example, `Address`, `Categories`). Don&#x27;t add unnecessary information to your name (for example, prefer &quot;Google&quot; over &quot;Google Inc. - Mountain View Corporate Headquarters&quot;). Don&#x27;t include marketing taglines, store codes, special characters, hours or closed/open status, phone numbers, website URLs, service/product information, location/address or directions, or containment information (for example, &quot;Chase ATM in Duane Reade&quot;).
  &quot;websiteUri&quot;: &quot;A String&quot;, # Optional. A URL for this business. If possible, use a URL that represents this individual business location instead of a generic website/URL that represents all locations, or the brand.
}

  updateMask: string, Required. The specific fields to update.
  validateOnly: boolean, Optional. If true, the request is validated without actually updating the location. When this field is set, we will only return validation errors if there were any. The response will be empty if no errors were found.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A location. See the [help center article] (https://support.google.com/business/answer/3038177) for a detailed description of these fields, or the [category endpoint](/my-business/reference/rest/v4/categories) for a list of valid business categories.
  &quot;adWordsLocationExtensions&quot;: { # Additional information that is surfaced in AdWords. # Optional. Additional information that is surfaced in AdWords.
    &quot;adPhone&quot;: &quot;A String&quot;, # Required. An alternate phone number to display on AdWords location extensions instead of the location&#x27;s primary phone number.
  },
  &quot;categories&quot;: { # A collection of categories that describes the business. During updates, both fields must be set. Clients are prohibited from individually updating the primary or additional categories using the update mask. # Optional. The different categories that describe the business.
    &quot;additionalCategories&quot;: [ # Optional. Additional categories to describe your business. Categories help your customers find accurate, specific results for services they&#x27;re interested in. To keep your business information accurate and live, make sure that you use as few categories as possible to describe your overall core business. Choose categories that are as specific as possible, but representative of your main business.
      { # A category describing what this business is (not what it does). For a list of valid category IDs, and the mappings to their human-readable names, see `categories.list`.
        &quot;displayName&quot;: &quot;A String&quot;, # Output only. The human-readable name of the category. This is set when reading the location. When modifying the location, `category_id` must be set.
        &quot;moreHoursTypes&quot;: [ # Output only. More hours types that are available for this business category.
          { # More hours types that a business can offers, in addition to its regular hours.
            &quot;displayName&quot;: &quot;A String&quot;, # Output only. The human-readable English display name for the hours type.
            &quot;hoursTypeId&quot;: &quot;A String&quot;, # Output only. A stable ID provided by Google for this hours type.
            &quot;localizedDisplayName&quot;: &quot;A String&quot;, # Output only. The human-readable localized display name for the hours type.
          },
        ],
        &quot;name&quot;: &quot;A String&quot;, # Required. A stable ID (provided by Google) for this category. The value must be specified when modifying the category (when creating or updating a location).
        &quot;serviceTypes&quot;: [ # Output only. A list of all the service types that are available for this business category.
          { # A message describing a service type that the business offers.
            &quot;displayName&quot;: &quot;A String&quot;, # Output only. The human-readable display name for the service type.
            &quot;serviceTypeId&quot;: &quot;A String&quot;, # Output only. A stable ID (provided by Google) for this service type.
          },
        ],
      },
    ],
    &quot;primaryCategory&quot;: { # A category describing what this business is (not what it does). For a list of valid category IDs, and the mappings to their human-readable names, see `categories.list`. # Required. Category that best describes the core business this location engages in.
      &quot;displayName&quot;: &quot;A String&quot;, # Output only. The human-readable name of the category. This is set when reading the location. When modifying the location, `category_id` must be set.
      &quot;moreHoursTypes&quot;: [ # Output only. More hours types that are available for this business category.
        { # More hours types that a business can offers, in addition to its regular hours.
          &quot;displayName&quot;: &quot;A String&quot;, # Output only. The human-readable English display name for the hours type.
          &quot;hoursTypeId&quot;: &quot;A String&quot;, # Output only. A stable ID provided by Google for this hours type.
          &quot;localizedDisplayName&quot;: &quot;A String&quot;, # Output only. The human-readable localized display name for the hours type.
        },
      ],
      &quot;name&quot;: &quot;A String&quot;, # Required. A stable ID (provided by Google) for this category. The value must be specified when modifying the category (when creating or updating a location).
      &quot;serviceTypes&quot;: [ # Output only. A list of all the service types that are available for this business category.
        { # A message describing a service type that the business offers.
          &quot;displayName&quot;: &quot;A String&quot;, # Output only. The human-readable display name for the service type.
          &quot;serviceTypeId&quot;: &quot;A String&quot;, # Output only. A stable ID (provided by Google) for this service type.
        },
      ],
    },
  },
  &quot;labels&quot;: [ # Optional. A collection of free-form strings to allow you to tag your business. These labels are NOT user facing; only you can see them. Must be between 1-255 characters per label.
    &quot;A String&quot;,
  ],
  &quot;languageCode&quot;: &quot;A String&quot;, # Immutable. The language of the location. Set during creation and not updateable.
  &quot;latlng&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # Optional. User-provided latitude and longitude. When creating a location, this field is ignored if the provided address geocodes successfully. This field is only returned on get requests if the user-provided `latlng` value was accepted during create, or the `latlng` value was updated through the Google Business Profile website. This field can only be updated by approved clients.
    &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
    &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
  },
  &quot;metadata&quot;: { # Additional non-user-editable information about the location. # Output only. Additional non-user-editable information.
    &quot;canDelete&quot;: True or False, # Output only. Indicates whether the location can be deleted using the API.
    &quot;canHaveBusinessCalls&quot;: True or False, # Output only. Indicates if the listing is eligible for business calls.
    &quot;canHaveFoodMenus&quot;: True or False, # Output only. Indicates if the listing is eligible for food menu.
    &quot;canModifyServiceList&quot;: True or False, # Output only. Indicates if the listing can modify the service list.
    &quot;canOperateHealthData&quot;: True or False, # Output only. Indicates whether the location can operate on Health data.
    &quot;canOperateLocalPost&quot;: True or False, # Output only. Indicates if the listing can manage local posts. Deprecated: This field is no longer populated and will be removed in a future version.
    &quot;canOperateLodgingData&quot;: True or False, # Output only. Indicates whether the location can operate on Lodging data.
    &quot;duplicateLocation&quot;: &quot;A String&quot;, # Output only. The location resource that this location duplicates.
    &quot;hasGoogleUpdated&quot;: True or False, # Output only. Indicates whether the place ID associated with this location has updates that need to be updated or rejected by the client. If this boolean is set, you should call the `getGoogleUpdated` method to lookup information that&#x27;s needs to be verified.
    &quot;hasPendingEdits&quot;: True or False, # Output only. Indicates whether any of this Location&#x27;s properties are in the edit pending state.
    &quot;hasVoiceOfMerchant&quot;: True or False, # Output only. Indicates if the listing has Voice of Merchant. If this boolean is false, you should call the locations.getVoiceOfMerchantState API to get details as to why they do not have Voice of Merchant.
    &quot;isParticularlyPersonalPlace&quot;: True or False, # Output only.
    &quot;mapsUri&quot;: &quot;A String&quot;, # Output only. A link to the location on Maps.
    &quot;newReviewUri&quot;: &quot;A String&quot;, # Output only. A link to the page on Google Search where a customer can leave a review for the location.
    &quot;placeId&quot;: &quot;A String&quot;, # Output only. If this locationappears on Google Maps, this field is populated with the place ID for the location. This ID can be used in various Places APIs. This field can be set during Create calls, but not for Update.
  },
  &quot;moreHours&quot;: [ # Optional. More hours for a business&#x27;s different departments or specific customers.
    { # The time periods during which a location is open for certain types of business.
      &quot;hoursTypeId&quot;: &quot;A String&quot;, # Required. Type of hours. Clients should call {#link businessCategories:BatchGet} to get supported hours types for categories of their locations.
      &quot;periods&quot;: [ # Required. A collection of times that this location is open. Each period represents a range of hours when the location is open during the week.
        { # Represents a span of time that the business is open, starting on the specified open day/time and closing on the specified close day/time. The closing time must occur after the opening time, for example later in the same day, or on a subsequent day.
          &quot;closeDay&quot;: &quot;A String&quot;, # Required. Indicates the day of the week this period ends on.
          &quot;closeTime&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Required. Valid values are 00:00-24:00, where 24:00 represents midnight at the end of the specified day field.
            &quot;hours&quot;: 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
            &quot;minutes&quot;: 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
            &quot;nanos&quot;: 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
            &quot;seconds&quot;: 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
          },
          &quot;openDay&quot;: &quot;A String&quot;, # Required. Indicates the day of the week this period starts on.
          &quot;openTime&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Required. Valid values are 00:00-24:00, where 24:00 represents midnight at the end of the specified day field.
            &quot;hours&quot;: 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
            &quot;minutes&quot;: 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
            &quot;nanos&quot;: 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
            &quot;seconds&quot;: 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
          },
        },
      ],
    },
  ],
  &quot;name&quot;: &quot;A String&quot;, # Google identifier for this location in the form: `locations/{location_id}`.
  &quot;openInfo&quot;: { # Information related to the opening state of the business. # Optional. A flag that indicates whether the location is currently open for business.
    &quot;canReopen&quot;: True or False, # Output only. Indicates whether this business is eligible for re-open.
    &quot;openingDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Optional. The date on which the location first opened. If the exact day is not known, month and year only can be provided. The date must be in the past or be no more than one year in the future.
      &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
      &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
      &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
    },
    &quot;status&quot;: &quot;A String&quot;, # Required. Indicates whether or not the Location is currently open for business. All locations are open by default, unless updated to be closed.
  },
  &quot;phoneNumbers&quot;: { # A collection of phone numbers for the business. During updates, both fields must be set. Clients may not update just the primary or additional phone numbers using the update mask. International phone format is preferred, such as &quot;+1 415 555 0132&quot;, see more in (https://developers.google.com/style/phone-numbers#international-phone-numbers). # Optional. The different phone numbers that customers can use to get in touch with the business.
    &quot;additionalPhones&quot;: [ # Optional. Up to two phone numbers (mobile or landline, no fax) at which your business can be called, in addition to your primary phone number.
      &quot;A String&quot;,
    ],
    &quot;primaryPhone&quot;: &quot;A String&quot;, # Required. A phone number that connects to your individual business location as directly as possible. Use a local phone number instead of a central, call center helpline number whenever possible.
  },
  &quot;profile&quot;: { # All information pertaining to the location&#x27;s profile. # Optional. Describes your business in your own voice and shares with users the unique story of your business and offerings. This field is required for all categories except lodging categories (e.g. hotels, motels, inns).
    &quot;description&quot;: &quot;A String&quot;, # Required. Description of the location in your own voice, not editable by anyone else.
  },
  &quot;regularHours&quot;: { # Represents the time periods that this location is open for business. Holds a collection of TimePeriod instances. # Optional. Operating hours for the business.
    &quot;periods&quot;: [ # Required. A collection of times that this location is open for business. Each period represents a range of hours when the location is open during the week.
      { # Represents a span of time that the business is open, starting on the specified open day/time and closing on the specified close day/time. The closing time must occur after the opening time, for example later in the same day, or on a subsequent day.
        &quot;closeDay&quot;: &quot;A String&quot;, # Required. Indicates the day of the week this period ends on.
        &quot;closeTime&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Required. Valid values are 00:00-24:00, where 24:00 represents midnight at the end of the specified day field.
          &quot;hours&quot;: 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
          &quot;minutes&quot;: 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
          &quot;nanos&quot;: 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
          &quot;seconds&quot;: 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
        },
        &quot;openDay&quot;: &quot;A String&quot;, # Required. Indicates the day of the week this period starts on.
        &quot;openTime&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Required. Valid values are 00:00-24:00, where 24:00 represents midnight at the end of the specified day field.
          &quot;hours&quot;: 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
          &quot;minutes&quot;: 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
          &quot;nanos&quot;: 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
          &quot;seconds&quot;: 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
        },
      },
    ],
  },
  &quot;relationshipData&quot;: { # Information of all parent and children locations related to this one. # Optional. All locations and chain related to this one.
    &quot;childrenLocations&quot;: [ # The list of children locations that this location has relations with.
      { # Information about another location that is related to current one. The relation can be any one of DEPARTMENT_OF or INDEPENDENT_ESTABLISHMENT_OF, and the location specified here can be on either side (parent/child) of the location.
        &quot;placeId&quot;: &quot;A String&quot;, # Required. Specify the location that is on the other side of the relation by its placeID.
        &quot;relationType&quot;: &quot;A String&quot;, # Required. The type of the relationship.
      },
    ],
    &quot;parentChain&quot;: &quot;A String&quot;, # The resource name of the Chain that this location is member of. How to find Chain ID
    &quot;parentLocation&quot;: { # Information about another location that is related to current one. The relation can be any one of DEPARTMENT_OF or INDEPENDENT_ESTABLISHMENT_OF, and the location specified here can be on either side (parent/child) of the location. # The parent location that this location has relations with.
      &quot;placeId&quot;: &quot;A String&quot;, # Required. Specify the location that is on the other side of the relation by its placeID.
      &quot;relationType&quot;: &quot;A String&quot;, # Required. The type of the relationship.
    },
  },
  &quot;serviceArea&quot;: { # Service area businesses provide their service at the customer&#x27;s location (for example, a locksmith or plumber). # Optional. Service area businesses provide their service at the customer&#x27;s location. If this business is a service area business, this field describes the area(s) serviced by the business.
    &quot;businessType&quot;: &quot;A String&quot;, # Required. Indicates the type of the service area business.
    &quot;places&quot;: { # Defines the union of areas represented by a set of places. # The area that this business serves defined through a set of places.
      &quot;placeInfos&quot;: [ # The areas represented by place IDs. Limited to a maximum of 20 places.
        { # Defines an area that&#x27;s represented by a place ID.
          &quot;placeId&quot;: &quot;A String&quot;, # Required. The ID of the place. Must correspond to a region. (https://developers.google.com/places/web-service/supported_types#table3)
          &quot;placeName&quot;: &quot;A String&quot;, # Required. The localized name of the place. For example, `Scottsdale, AZ`.
        },
      ],
    },
    &quot;regionCode&quot;: &quot;A String&quot;, # Immutable. CLDR region code of the country/region that this service area business is based in. See http://cldr.unicode.org/ and http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html for details. Example: &quot;CH&quot; for Switzerland. This field is required for CUSTOMER_LOCATION_ONLY businesses, and is ignored otherwise. The region specified here can be different from regions for the areas that this business serves (e.g. service area businesses that provide services in regions other than the one that they are based in). If this location requires verification after creation, the address provided for verification purposes *must* be located within this region, and the business owner or their authorized representative *must* be able to receive postal mail at the provided verification address.
  },
  &quot;serviceItems&quot;: [ # Optional. List of services supported by merchants. A service can be haircut, install water heater, etc. Duplicated service items will be removed automatically.
    { # A message that describes a single service item. It is used to describe the type of service that the merchant provides. For example, haircut can be a service.
      &quot;freeFormServiceItem&quot;: { # Represents a free-form service offered by the merchant. These are services that are not exposed as part of our structure service data. The merchant manually enters the names for of such services via a geomerchant surface. # Optional. This field will be set case of free-form services data.
        &quot;category&quot;: &quot;A String&quot;, # Required. This field represents the category name (i.e. the category&#x27;s stable ID). The `category` and `service_type_id` should match the possible combinations provided in the `Category` message.
        &quot;label&quot;: { # Label to be used when displaying the price list, section, or item. # Required. Language-tagged labels for the item. We recommend that item names be 140 characters or less, and descriptions 250 characters or less. This field should only be set if the input is a custom service item. Standardized service types should be updated via service_type_id.
          &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the price list, section, or item.
          &quot;displayName&quot;: &quot;A String&quot;, # Required. Display name for the price list, section, or item.
          &quot;languageCode&quot;: &quot;A String&quot;, # Optional. The BCP-47 language code that these strings apply for. Only one set of labels may be set per language.
        },
      },
      &quot;price&quot;: { # Represents an amount of money with its currency type. # Optional. Represents the monetary price of the service item. We recommend that currency_code and units should be set when including a price. This will be treated as a fixed price for the service item.
        &quot;currencyCode&quot;: &quot;A String&quot;, # The three-letter currency code defined in ISO 4217.
        &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
        &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount. For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
      },
      &quot;structuredServiceItem&quot;: { # Represents a structured service offered by the merchant. For eg: toilet_installation. # Optional. This field will be set case of structured services data.
        &quot;description&quot;: &quot;A String&quot;, # Optional. Description of structured service item. The character limit is 300.
        &quot;serviceTypeId&quot;: &quot;A String&quot;, # Required. The `service_type_id` field is a Google provided unique ID that can be found in `ServiceType`. This information is provided by `BatchGetCategories` rpc service.
      },
    },
  ],
  &quot;specialHours&quot;: { # Represents a set of time periods when a location&#x27;s operational hours differ from its normal business hours. # Optional. Special hours for the business. This typically includes holiday hours, and other times outside of regular operating hours. These override regular business hours. This field cannot be set without regular hours.
    &quot;specialHourPeriods&quot;: [ # Required. A list of exceptions to the business&#x27;s regular hours.
      { # Represents a single time period when a location&#x27;s operational hours differ from its normal business hours. A special hour period must represent a range of less than 24 hours. The `open_time` and `start_date` must predate the `close_time` and `end_date`. The `close_time` and `end_date` can extend to 11:59 a.m. on the day after the specified `start_date`. For example, the following inputs are valid: start_date=2015-11-23, open_time=08:00, close_time=18:00 start_date=2015-11-23, end_date=2015-11-23, open_time=08:00, close_time=18:00 start_date=2015-11-23, end_date=2015-11-24, open_time=13:00, close_time=11:59 The following inputs are not valid: start_date=2015-11-23, open_time=13:00, close_time=11:59 start_date=2015-11-23, end_date=2015-11-24, open_time=13:00, close_time=12:00 start_date=2015-11-23, end_date=2015-11-25, open_time=08:00, close_time=18:00
        &quot;closeTime&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Valid values are 00:00-24:00, where 24:00 represents midnight at the end of the specified day field. Must be specified if `closed` is false.
          &quot;hours&quot;: 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
          &quot;minutes&quot;: 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
          &quot;nanos&quot;: 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
          &quot;seconds&quot;: 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
        },
        &quot;closed&quot;: True or False, # Optional. If true, `end_date`, `open_time`, and `close_time` are ignored, and the date specified in `start_date` is treated as the location being closed for the entire day.
        &quot;endDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Optional. The calendar date this special hour period ends on. If `end_date` field is not set, default to the date specified in `start_date`. If set, this field must be equal to or at most 1 day after `start_date`.
          &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
          &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
          &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
        },
        &quot;openTime&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Valid values are 00:00-24:00 where 24:00 represents midnight at the end of the specified day field. Must be specified if `closed` is false.
          &quot;hours&quot;: 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
          &quot;minutes&quot;: 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
          &quot;nanos&quot;: 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
          &quot;seconds&quot;: 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
        },
        &quot;startDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. The calendar date this special hour period starts on.
          &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
          &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
          &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
        },
      },
    ],
  },
  &quot;storeCode&quot;: &quot;A String&quot;, # Optional. External identifier for this location, which must be unique within a given account. This is a means of associating the location with your own records.
  &quot;storefrontAddress&quot;: { # Represents a postal address, such as for postal delivery or payments addresses. With a postal address, a postal service can deliver items to a premise, P.O. box, or similar. A postal address is not intended to model geographical locations like roads, towns, or mountains. In typical usage, an address would be created by user input or from importing existing data, depending on the type of process. Advice on address input or editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput. - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, see: https://support.google.com/business/answer/6397478. # Optional. A precise, accurate address to describe your business location. PO boxes or mailboxes located at remote locations are not acceptable. At this time, you can specify a maximum of five `address_lines` values in the address. This field should only be set for businesses that have a storefront. This field should not be set for locations of type `CUSTOMER_LOCATION_ONLY` but if set, any value provided will be discarded.
    &quot;addressLines&quot;: [ # Unstructured address lines describing the lower levels of an address. Because values in `address_lines` do not have type information and may sometimes contain multiple values in a single field (for example, &quot;Austin, TX&quot;), it is important that the line order is clear. The order of address lines should be &quot;envelope order&quot; for the country or region of the address. In places where this can vary (for example, Japan), `address_language` is used to make it explicit (for example, &quot;ja&quot; for large-to-small ordering and &quot;ja-Latn&quot; or &quot;en&quot; for small-to-large). In this way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a `region_code` with all remaining information placed in the `address_lines`. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a `region_code` and `address_lines` and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).
      &quot;A String&quot;,
    ],
    &quot;administrativeArea&quot;: &quot;A String&quot;, # Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. For Spain, this is the province and not the autonomous community (for example, &quot;Barcelona&quot; and not &quot;Catalonia&quot;). Many countries don&#x27;t use an administrative area in postal addresses. For example, in Switzerland, this should be left unpopulated.
    &quot;languageCode&quot;: &quot;A String&quot;, # Optional. BCP-47 language code of the contents of this address (if known). This is often the UI language of the input form or is expected to match one of the languages used in the address&#x27; country/region, or their transliterated equivalents. This can affect formatting in certain countries, but is not critical to the correctness of the data and will never affect any validation or other non-formatting related operations. If this value is not known, it should be omitted (rather than specifying a possibly incorrect default). Examples: &quot;zh-Hant&quot;, &quot;ja&quot;, &quot;ja-Latn&quot;, &quot;en&quot;.
    &quot;locality&quot;: &quot;A String&quot;, # Optional. Generally refers to the city or town portion of the address. Examples: US city, IT comune, UK post town. In regions of the world where localities are not well defined or do not fit into this structure well, leave `locality` empty and use `address_lines`.
    &quot;organization&quot;: &quot;A String&quot;, # Optional. The name of the organization at the address.
    &quot;postalCode&quot;: &quot;A String&quot;, # Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (for example, state or zip code validation in the United States).
    &quot;recipients&quot;: [ # Optional. The recipient at the address. This field may, under certain circumstances, contain multiline information. For example, it might contain &quot;care of&quot; information.
      &quot;A String&quot;,
    ],
    &quot;regionCode&quot;: &quot;A String&quot;, # Required. CLDR region code of the country/region of the address. This is never inferred and it is up to the user to ensure the value is correct. See https://cldr.unicode.org/ and https://www.unicode.org/cldr/charts/30/supplemental/territory_information.html for details. Example: &quot;CH&quot; for Switzerland.
    &quot;revision&quot;: 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is the latest revision. All new revisions **must** be backward compatible with old revisions.
    &quot;sortingCode&quot;: &quot;A String&quot;, # Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like &quot;CEDEX&quot;, optionally followed by a number (for example, &quot;CEDEX 7&quot;), or just a number alone, representing the &quot;sector code&quot; (Jamaica), &quot;delivery area indicator&quot; (Malawi) or &quot;post office indicator&quot; (Côte d&#x27;Ivoire).
    &quot;sublocality&quot;: &quot;A String&quot;, # Optional. Sublocality of the address. For example, this can be a neighborhood, borough, or district.
  },
  &quot;title&quot;: &quot;A String&quot;, # Required. Location name should reflect your business&#x27;s real-world name, as used consistently on your storefront, website, and stationery, and as known to customers. Any additional information, when relevant, can be included in other fields of the resource (for example, `Address`, `Categories`). Don&#x27;t add unnecessary information to your name (for example, prefer &quot;Google&quot; over &quot;Google Inc. - Mountain View Corporate Headquarters&quot;). Don&#x27;t include marketing taglines, store codes, special characters, hours or closed/open status, phone numbers, website URLs, service/product information, location/address or directions, or containment information (for example, &quot;Chase ATM in Duane Reade&quot;).
  &quot;websiteUri&quot;: &quot;A String&quot;, # Optional. A URL for this business. If possible, use a URL that represents this individual business location instead of a generic website/URL that represents all locations, or the brand.
}</pre>
</div>

<div class="method">
    <code class="details" id="updateAttributes">updateAttributes(name, attributeMask=None, body=None, x__xgafv=None)</code>
  <pre>Update attributes for a given location.

Args:
  name: string, Required. Google identifier for this location in the form of `locations/{location_id}/attributes`. (required)
  body: object, The request body.
    The object takes the form of:

{ # A container for all the attributes for a given location.
  &quot;attributes&quot;: [ # A collection of attributes that need to be updated.
    { # A location attribute. Attributes provide additional information about a location. The attributes that can be set on a location may vary based on the properties of that location (for example, category). Available attributes are determined by Google and may be added and removed without API changes.
      &quot;name&quot;: &quot;A String&quot;, # Required. The resource name for this attribute.
      &quot;repeatedEnumValue&quot;: { # Values for an attribute with a `value_type` of REPEATED_ENUM. This consists of two lists of value IDs: those that are set (true) and those that are unset (false). Values absent are considered unknown. At least one value must be specified. # When the attribute value type is REPEATED_ENUM, this contains the attribute value, and the other values fields must be empty.
        &quot;setValues&quot;: [ # Enum values that are set.
          &quot;A String&quot;,
        ],
        &quot;unsetValues&quot;: [ # Enum values that are unset.
          &quot;A String&quot;,
        ],
      },
      &quot;uriValues&quot;: [ # When the attribute value type is URL, this field contains the value(s) for this attribute, and the other values fields must be empty.
        { # Values for an attribute with a `value_type` of URL.
          &quot;uri&quot;: &quot;A String&quot;, # Required. The proposed URI value for this attribute.
        },
      ],
      &quot;valueType&quot;: &quot;A String&quot;, # Output only. The type of value that this attribute contains. This should be used to determine how to interpret the value.
      &quot;values&quot;: [ # The values for this attribute. The type of the values supplied must match that expected for that attribute. This is a repeated field where multiple attribute values may be provided. Attribute types only support one value.
        &quot;&quot;,
      ],
    },
  ],
  &quot;name&quot;: &quot;A String&quot;, # Required. Google identifier for this location in the form of `locations/{location_id}/attributes`.
}

  attributeMask: string, Required. Attribute name of attributes that you&#x27;d like to update. Represented by `attributes/{attribute}`. Updates: All attributes provided in the attributes field that you would like to update must be set in the `attribute_mask`. Attributes set in the above list but not in the `attribute_mask` will be ignored. Deletes: If you&#x27;d like to delete certain attributes, they must be specified in the `attribute_mask` with no matching entry in the attributes list. If you&#x27;d like to delete all attributes set on a location, you should look up all the applicable attributes for the location and then add them to the `attribute_mask` with an empty attributes field.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A container for all the attributes for a given location.
  &quot;attributes&quot;: [ # A collection of attributes that need to be updated.
    { # A location attribute. Attributes provide additional information about a location. The attributes that can be set on a location may vary based on the properties of that location (for example, category). Available attributes are determined by Google and may be added and removed without API changes.
      &quot;name&quot;: &quot;A String&quot;, # Required. The resource name for this attribute.
      &quot;repeatedEnumValue&quot;: { # Values for an attribute with a `value_type` of REPEATED_ENUM. This consists of two lists of value IDs: those that are set (true) and those that are unset (false). Values absent are considered unknown. At least one value must be specified. # When the attribute value type is REPEATED_ENUM, this contains the attribute value, and the other values fields must be empty.
        &quot;setValues&quot;: [ # Enum values that are set.
          &quot;A String&quot;,
        ],
        &quot;unsetValues&quot;: [ # Enum values that are unset.
          &quot;A String&quot;,
        ],
      },
      &quot;uriValues&quot;: [ # When the attribute value type is URL, this field contains the value(s) for this attribute, and the other values fields must be empty.
        { # Values for an attribute with a `value_type` of URL.
          &quot;uri&quot;: &quot;A String&quot;, # Required. The proposed URI value for this attribute.
        },
      ],
      &quot;valueType&quot;: &quot;A String&quot;, # Output only. The type of value that this attribute contains. This should be used to determine how to interpret the value.
      &quot;values&quot;: [ # The values for this attribute. The type of the values supplied must match that expected for that attribute. This is a repeated field where multiple attribute values may be provided. Attribute types only support one value.
        &quot;&quot;,
      ],
    },
  ],
  &quot;name&quot;: &quot;A String&quot;, # Required. Google identifier for this location in the form of `locations/{location_id}/attributes`.
}</pre>
</div>

</body></html>